package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 客户对象 hms_customer
 * 
 * @author ruoyi
 * @date 2021-08-16
 */
public class HmsCustomer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long cusId;

    /** 客户id */
    @Excel(name = "客户id")
    private Long cusUuid;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String cusName;

    /** 客户性别 */
    @Excel(name = "客户性别")
    private Long cusGender;

    /** 客户类型（1：额度扣款 2：款到发货 3：货到付款） */
    @Excel(name = "客户类型", readConverterExp = "1=：额度扣款,2=：款到发货,3=：货到付款")
    private String cusType;

    /** 客户手机号码 */
    @Excel(name = "客户手机号码")
    private String cusTel;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String cusRealName;

    /** 用户状态（0：禁止 1：正常） */
    @Excel(name = "用户状态", readConverterExp = "0=：禁止,1=：正常")
    private Long cusStatus;

    /** 授信额度(单位：元) */
    @Excel(name = "授信额度(单位：元)")
    private Long cusCreditLine;

    /** 最大的授信额度（单位：元） */
    @Excel(name = "最大的授信额度", readConverterExp = "单=位：元")
    private Long cusMaximumCreditLine;

    /** 已下订单 */
    @Excel(name = "已下订单")
    private String cusOrderPlaced;

    /** 未结订单 */
    @Excel(name = "未结订单")
    private String cusOpenOrders;

    /** 累计订单金额（单位：元） */
    @Excel(name = "累计订单金额", readConverterExp = "单=位：元")
    private Long cusCumulativeOrderAmount;

    /** 未结订单金额（单位：元） */
    @Excel(name = "未结订单金额", readConverterExp = "单=位：元")
    private Long cusOpenOrderAmount;

    /** 客户创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cusCreateTime;

    /** 客户更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cusUpdateTime;

    public void setCusId(Long cusId) 
    {
        this.cusId = cusId;
    }

    public Long getCusId() 
    {
        return cusId;
    }
    public void setCusUuid(Long cusUuid) 
    {
        this.cusUuid = cusUuid;
    }

    public Long getCusUuid() 
    {
        return cusUuid;
    }
    public void setCusName(String cusName) 
    {
        this.cusName = cusName;
    }

    public String getCusName() 
    {
        return cusName;
    }
    public void setCusGender(Long cusGender) 
    {
        this.cusGender = cusGender;
    }

    public Long getCusGender() 
    {
        return cusGender;
    }
    public void setCusType(String cusType) 
    {
        this.cusType = cusType;
    }

    public String getCusType() 
    {
        return cusType;
    }
    public void setCusTel(String cusTel) 
    {
        this.cusTel = cusTel;
    }

    public String getCusTel() 
    {
        return cusTel;
    }
    public void setCusRealName(String cusRealName) 
    {
        this.cusRealName = cusRealName;
    }

    public String getCusRealName() 
    {
        return cusRealName;
    }
    public void setCusStatus(Long cusStatus) 
    {
        this.cusStatus = cusStatus;
    }

    public Long getCusStatus() 
    {
        return cusStatus;
    }
    public void setCusCreditLine(Long cusCreditLine) 
    {
        this.cusCreditLine = cusCreditLine;
    }

    public Long getCusCreditLine() 
    {
        return cusCreditLine;
    }
    public void setCusMaximumCreditLine(Long cusMaximumCreditLine) 
    {
        this.cusMaximumCreditLine = cusMaximumCreditLine;
    }

    public Long getCusMaximumCreditLine() 
    {
        return cusMaximumCreditLine;
    }
    public void setCusOrderPlaced(String cusOrderPlaced) 
    {
        this.cusOrderPlaced = cusOrderPlaced;
    }

    public String getCusOrderPlaced() 
    {
        return cusOrderPlaced;
    }
    public void setCusOpenOrders(String cusOpenOrders) 
    {
        this.cusOpenOrders = cusOpenOrders;
    }

    public String getCusOpenOrders() 
    {
        return cusOpenOrders;
    }
    public void setCusCumulativeOrderAmount(Long cusCumulativeOrderAmount) 
    {
        this.cusCumulativeOrderAmount = cusCumulativeOrderAmount;
    }

    public Long getCusCumulativeOrderAmount() 
    {
        return cusCumulativeOrderAmount;
    }
    public void setCusOpenOrderAmount(Long cusOpenOrderAmount) 
    {
        this.cusOpenOrderAmount = cusOpenOrderAmount;
    }

    public Long getCusOpenOrderAmount() 
    {
        return cusOpenOrderAmount;
    }
    public void setCusCreateTime(Date cusCreateTime) 
    {
        this.cusCreateTime = cusCreateTime;
    }

    public Date getCusCreateTime() 
    {
        return cusCreateTime;
    }
    public void setCusUpdateTime(Date cusUpdateTime) 
    {
        this.cusUpdateTime = cusUpdateTime;
    }

    public Date getCusUpdateTime() 
    {
        return cusUpdateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("cusId", getCusId())
            .append("cusUuid", getCusUuid())
            .append("cusName", getCusName())
            .append("cusGender", getCusGender())
            .append("cusType", getCusType())
            .append("cusTel", getCusTel())
            .append("cusRealName", getCusRealName())
            .append("cusStatus", getCusStatus())
            .append("cusCreditLine", getCusCreditLine())
            .append("cusMaximumCreditLine", getCusMaximumCreditLine())
            .append("cusOrderPlaced", getCusOrderPlaced())
            .append("cusOpenOrders", getCusOpenOrders())
            .append("cusCumulativeOrderAmount", getCusCumulativeOrderAmount())
            .append("cusOpenOrderAmount", getCusOpenOrderAmount())
            .append("cusCreateTime", getCusCreateTime())
            .append("cusUpdateTime", getCusUpdateTime())
            .toString();
    }
}
